﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
using Noris.Tools.FrxEditor.Components;

namespace Noris.Tools.FrxEditor.Editor
{
    /// <summary>
    /// Obecný objekt, který může být vykreslován a může mít interaktivní chování
    /// </summary>
    public class InteractiveArea : IInteractiveObject
    {
        /// <summary>
        /// Řízení interaktivity - odpověď na akci myši
        /// </summary>
        /// <param name="args"></param>
        public void MouseChange(EditInteractiveEventArgs args)
        {
            switch (args.MouseChange)
            {
                case EditMouseChangeType.Enter:
                    args.ReDrawLayer(0);
                    break;
                case EditMouseChangeType.Leave:
                    args.ReDrawLayer(0);
                    break;
            }
        }
        /// <summary>
        /// Řízení vykreslování
        /// </summary>
        /// <param name="args"></param>
        public void Paint(EditPaintEventArgs args)
        {
            UiRenderer.DrawBackground(args.Graphics, args.VisualArea, Color.LightGray, 45, RenderStyle.FlatStyle, args.MouseState);

            //PushButtonState state = PushButtonState.Normal;
            //if (args.MouseState == EditMouseState.OnControl)
            //    state = PushButtonState.Hot;

            //Rectangle area = Rectangle.Round(args.VisualArea);
            //// area.Inflate(2, 2);
            //System.Windows.Forms.ButtonRenderer.DrawButton(args.Graphics, area,
            //    "Header", SystemFonts.DefaultFont, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter,
            //    false, state);
        }
    }
}
